\begin{verbatim}
package sys.tests.automat;
import sys.fsm.*;
import sys.message.*;
import sys.transport.*;
import sys.*;
import org.junit.* ;
import static org.junit.Assert.* ;
public class AutomatTest
{
    @Test
    public void test_1()
    {
        System.out.println("--------------------------------------------------------------------");
        System.out.println("Тест №1. Удачный сценарий работы. Из состояния Init в состояние Done");
        System.out.println("--------------------------------------------------------------------");
        try
        {
            Automat a = new Automat(1, "//home//chigorin//botva//term10//my//ds//cw//distsyst//sysa//src//sys//fsm//config");
            a.start_Message(0, "paying_system_1", "user_1", 10);
            Thread.sleep(2500);
            a.ack_Seller_1_Message();
            Thread.sleep(2000);
            a.ack_PayingSystem_1_Message();
            Thread.sleep(1000);
            a.ack_User_1_Message();
            Thread.sleep(1000);
            a.ack_Seller_2_Message();
            Thread.sleep(1000);
            assertTrue(a.getStateId() == 6) ;
        }
        catch(Exception e) {}
    }
    @Test
    public void test_2()
    {
        System.out.println("--------------------------------------------------------------------");
        System.out.println("Тест №2. Не приходит подтверждение от поставщика. Выход по таймауту.");
        System.out.println("--------------------------------------------------------------------");
        try
        {
            Automat a = new Automat(1, "//home//chigorin//botva//term10//my//ds//cw//distsyst//sysa//src//sys//fsm//config");
            a.start_Message(0, "paying_system_1", "user_1", 10);
            Thread.sleep(2500);
            a.ack_Seller_1_Message();
            Thread.sleep(2000);
            a.ack_PayingSystem_1_Message();
            Thread.sleep(1000);
            a.ack_User_1_Message();
            Thread.sleep(20000);
            assertTrue(a.getStateId() == 5) ;
        }
        catch(Exception e) {}
    } 
    @Test
    public void test_3()
    {
        System.out.println("---------------------------------------------------");
        System.out.println("Тест №3. Отмена заказа пользователем");
        System.out.println("---------------------------------------------------");
        try
        {
            Automat a = new Automat(1, "//home//chigorin//botva//term10//my//ds//cw//distsyst//sysa//src//sys//fsm//config");
            a.start_Message(0, "paying_system_1", "user_1", 10);
            Thread.sleep(2500);
            a.ack_Seller_1_Message();
            Thread.sleep(2000);
            a.ack_PayingSystem_1_Message();
            Thread.sleep(1000);
            a.nack_User_1_Message();
            Thread.sleep(1000);
            assertTrue(a.getStateId() == 5) ;
        }
        catch(Exception e) {}
    } 
}
\end{verbatim}
